{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "6f1ebb2b-a5c5-4f27-a56b-d45e8c01f8df",
   "metadata": {},
   "source": [
    "物联网与大数据第二章笔记  \n",
    "姚龙飞"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c40d26db-aa66-4f8c-ab8e-468fbf87128a",
   "metadata": {},
   "source": [
    "# 第二章 数据"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b5fb4c24-389b-46a1-a435-bb65435ffc0a",
   "metadata": {},
   "source": [
    "# 目录\n",
    "\n",
    "1. [2.1 数据类型](#21-数据类型)\n",
    "2. [2.2 数据质量](#22-数据质量)\n",
    "3. [2.3 数据预处理](#23-数据预处理)\n",
    "4. [2.4 相似性和相异性的度量](#24-相似性和相异性的度量)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e44418a3-0e0c-4a61-8765-e0ccc7114571",
   "metadata": {},
   "source": [
    "## 2.1 数据类型\n",
    "\n",
    "### 2.1.1 属性与度量\n",
    "- **属性（Attribute）**：对象的性质或特性，因对象而异，或随时间而变化。\n",
    "- **测量标度（Measurement Scale）**：将数值或符号值与对象的属性相关联的规则（函数）。\n",
    "\n",
    "### 2.1.2 数据集的类型\n",
    "- **记录数据（Record-based Data）**：每个记录包含固定的数据字段（属性）集。\n",
    "- **事务数据（Transaction Data）**：特殊类型的记录数据，其中每个记录涉及一系列的项。\n",
    "- **数据矩阵（Data Matrix）**：所有数据对象具有相同的数值属性集，可以看作多维空间中的点。\n",
    "- **稀疏数据矩阵（Sparse Data Matrix）**：数据矩阵的一种特殊情况，其中属性的类型相同并且是非对称的。\n",
    "\n",
    "### 2.1.3 属性类型\n",
    "- **标称（Nominal）**：值仅仅只是不同的名字，即标称值只提供足够的信息以区分对象。\n",
    "- **序数（Ordinal）**：值提供足够的信息确定对象的顺序。\n",
    "- **区间（Interval）**：值之间的差是有意义的，即存在测量单位。\n",
    "- **比率（Ratio）**：<mark>差和比率</mark>都有意义的属性。\n",
    "\n",
    "### 2.1.4 属性的值个数\n",
    "- **二元属性（Binary Attribute）**：离散属性的一种特殊情况，只接受两个值。\n",
    "- **离散属性（Discrete Attribute）**：取值个数有限。\n",
    "- **连续属性（Continuous Attribute）**：取实数值的属性。\n",
    "\n",
    "### 2.1.5 非对称属性\n",
    "- **非对称属性（Asymmetric Attribute）**：出现<mark>非零属性值</mark>才是重要的。\n",
    "\n",
    "## 2.2 数据质量\n",
    "\n",
    "### 2.2.1 测量和数据收集问题\n",
    "- **测量误差（Measurement Error）**：测量过程中导致的问题。\n",
    "- **数据收集错误（Data Collection Error）**：如遗漏数据对象或属性值，或不当地包含了其他数据对象等错误。\n",
    "\n",
    "### 2.2.2 噪声和伪像\n",
    "- **噪声（Noise）**：测量误差的随机部分。\n",
    "- **伪像（Artifact）**：测量误差的非随机部分。\n",
    "\n",
    "### 2.2.3 精度、偏倚和准确率\n",
    "- **精度（Precision）**：重复测量值之间的接近程度。\n",
    "- **偏倚（Bias）**：测量值与被测量之间的系统的变差。\n",
    "- **准确率（Accuracy）**：被测量的测量值与实际值之间的接近度。\n",
    "\n",
    "### 2.2.4 离群点\n",
    "- **离群点（Outlier）**：具有不同于数据集中其他大部分数据对象的特征的数据对象。\n",
    "\n",
    "### 2.2.5 遗漏值\n",
    "- **遗漏值（Missing Values）**：一个对象遗漏一个或多个属性值的情况。\n",
    "\n",
    "### 2.2.6 不一致的值\n",
    "- **不一致的值（Inconsistent Values）**：数据可能包含不一致的值。\n",
    "\n",
    "### 2.2.7 重复数据\n",
    "- **重复数据（Duplicate Data）**：数据集可能包含重复或几乎重复的数据对象。\n",
    "\n",
    "## 2.3 数据预处理\n",
    "\n",
    "### 2.3.1 聚集\n",
    "- **聚集（Aggregation）**：将两个或多个对象合并成单个对象。\n",
    "\n",
    "### 2.3.2 抽样\n",
    "- **抽样（Sampling）**：选择数据对象子集进行分析的方法。\n",
    "\n",
    "### 2.3.3 维归约\n",
    "- **维归约（Dimensionality Reduction）**：降低数据集的维度。\n",
    "\n",
    "### 2.3.4 特征子集选择\n",
    "- **特征子集选择（Feature Subset Selection）**：仅使用特征的一个子集。\n",
    "\n",
    "### 2.3.5 特征创建\n",
    "- **特征创建（Feature Creation）**：由原来的属性创建新的属性集。\n",
    "\n",
    "### 2.3.6 离散化和二元化\n",
    "- **离散化（Discretization）**：将连续属性变换成分类属性。\n",
    "- **二元化（Binarization）**：将属性变换成一个或多个二元属性。\n",
    "\n",
    "### 2.3.7 变量变换\n",
    "- **变量变换（Variable Transformation）**：作用于变量值的变换。\n",
    "\n",
    "## 2.4 相似性和相异性的度量\n",
    "\n",
    "### 2.4.1 基础\n",
    "- **相似度（Similarity）**：两个对象相似程度的数值度量。\n",
    "- **相异度（Dissimilarity）**：两个对象差异程度的数值度量。\n",
    "\n",
    "### 2.4.2 简单属性之间的相似度和相异度\n",
    "- **标称属性**：如果属性值匹配，则相似度定义为1，否则为0。\n",
    "- **序数属性**：值常常映射到从0或1开始的相继整数。\n",
    "- **区间或比率属性**：两个对象之间的<mark>相异性的自然度量</mark>是它们的值之差的绝对值。\n",
    "\n",
    "### 2.4.3 数据对象之间的相异度\n",
    "- **距离（Distance）**：具有特定性质的相异度。\n",
    "\n",
    "### 2.4.4 数据对象之间的相似度\n",
    "- **相似度**：三角不等式通常不成立，但对称性和非负性通常成立。\n",
    "\n",
    "### 2.4.5 邻近性度量的例子\n",
    "- **二元数据的相似性度量**：如简单匹配系数（SMC）和Jaccard系数。\n",
    "- **余弦相似度（Cosine Similarity）**：常用于文档相似性度量。\n",
    "- **广义Jaccard系数（Tanimoto Coefficient）**：可以用于文档数据。\n",
    "- **相关性（Correlation）**：度量两个具有二元变量或连续变量的数据对象之间的线性联系。\n",
    " ## 2.4.6 邻近度计算问题\n",
    "\n",
    "### 距离度量的标准化和相关性\n",
    "- **不同尺度的属性处理**：当属性具有不同的值域时，直接使用距离度量（如欧几里得距离）可能会导致某些属性对结果的影响过大。例如，在比较基于年龄和收入的两个人之间的距离时，除非这两个属性是标准化的，否则两个人之间的距离将被收入所左右。\n",
    "- **Mahalanobis距离**：当属性相关、具有不同的值域（不同的方差）、并且数据分布近似于高斯（正态）分布时，Mahalanobis距离是有用的。它考虑了数据的协方差结构，从而提供了一种考虑变量相关性和不同尺度的有效距离度量。\n",
    "\n",
    "### 组合异种属性的相似度\n",
    "- **异种属性的处理**：当属性具有不同类型时，需要更一般的方法来计算对象之间的相似度。一种方法是分别计算每个属性之间的相似度，然后使用一种导致0和1之间相似度的方法组合这些相似度。\n",
    "- **非对称属性的处理**：如果某些属性是非对称的二元属性，则相似性度量先归结为简单匹配系数，一种对于二元非对称属性并不合适的度量。处理该问题的一种方法是：如果两个对象在非对称属性上的值都是0，则在计算对象相似度时忽略它们。\n",
    "\n",
    "## 2.4.7 选取正确的邻近性度量\n",
    "\n",
    "### 邻近性度量的选取\n",
    "- **数据类型与度量对应**：邻近性度量的类型应当与数据类型相适应。对于许多稠密的、连续的数据，通常使用距离度量，如欧几里得距离等。\n",
    "- **稀疏数据的度量**：对于稀疏数据，常常包含非对称的属性，通常使用忽略0-0匹配的相似性度量。余弦、Jaccard和广义Jaccard度量对于这类数据是合适的。\n",
    "- **实践考虑**：有时，一种或多种邻近性度量已经在某个特定领域使用，因此，其他研究者已经回答了应当使用何种邻近性度量的问题。另外，所使用的软件包或聚类算法可能完全限制了选择。如果关心效率，则我们可能希望选择具有某些性质的邻近性度量，这些性质（如三角不等式）可以用来降低邻近度计算量。\n",
    "- **领域知识和度量目的**：正确地选择邻近性度量可能是一项耗时的任务，需要仔细地考虑领域知识和度量使用的目的。可能需要评估许多不同的相似性度量，以确定哪些结果最有意义。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "951c5494-ff94-4e67-a55a-b0857f4bc6d7",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
